home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2001 May / SGI IRIX Base Documentation 2001 May.iso / usr / share / catman / p_man / catD / uiomove.z / uiomove
Encoding:
Text File  |  1998-10-30  |  7.7 KB  |  132 lines

  1.  
  2.  
  3.  
  4. uuuuiiiioooommmmoooovvvveeee((((DDDD3333))))                                                        uuuuiiiioooommmmoooovvvveeee((((DDDD3333))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      _uuuu_iiii_oooo_mmmm_oooo_vvvv_eeee - copy data using _uuuu_iiii_oooo(D4) structure
  10.  
  11. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  12.      _####_iiii_nnnn_cccc_llll_uuuu_dddd_eeee _<<<<_ssss_yyyy_ssss_////_tttt_yyyy_pppp_eeee_ssss_...._hhhh_>>>>
  13.      _####_iiii_nnnn_cccc_llll_uuuu_dddd_eeee _<<<<_ssss_yyyy_ssss_////_uuuu_iiii_oooo_...._hhhh_>>>>
  14.      _####_iiii_nnnn_cccc_llll_uuuu_dddd_eeee _<<<<_ssss_yyyy_ssss_////_dddd_dddd_iiii_...._hhhh_>>>>
  15.      _iiii_nnnn_tttt _uuuu_iiii_oooo_mmmm_oooo_vvvv_eeee_((((_cccc_aaaa_dddd_dddd_rrrr______tttt _a_d_d_r_,,,, _llll_oooo_nnnn_gggg _n_b_y_t_e_s_,,,, _uuuu_iiii_oooo______rrrr_wwww______tttt _r_w_f_l_a_g_,,,,
  16.                  _uuuu_iiii_oooo______tttt _****_u_i_o_p_))))_;;;;
  17.  
  18.    AAAArrrrgggguuuummmmeeeennnnttttssss
  19.      _a_d_d_r      Source/destination kernel address of the copy.
  20.  
  21.      _n_b_y_t_e_s    Number of bytes to copy.
  22.  
  23.      _r_w_f_l_a_g    Flag indicating read or write operation.  Valid values are
  24.                _UUUU_IIII_OOOO______RRRR_EEEE_AAAA_DDDD and _UUUU_IIII_OOOO______WWWW_RRRR_IIII_TTTT_EEEE.
  25.  
  26.      _u_i_o_p      Pointer to the _uuuu_iiii_oooo structure for the copy.
  27.  
  28. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  29.      The _uuuu_iiii_oooo_mmmm_oooo_vvvv_eeee function copies _n_b_y_t_e_s of data between the kernel address
  30.      _a_d_d_r and the space defined by the _uuuu_iiii_oooo structure pointed to by _u_i_o_p.  If
  31.      _r_w_f_l_a_g is _UUUU_IIII_OOOO______RRRR_EEEE_AAAA_DDDD, the data is copied from _a_d_d_r to the space described
  32.      by the _uuuu_iiii_oooo structure.  If _r_w_f_l_a_g is _UUUU_IIII_OOOO______WWWW_RRRR_IIII_TTTT_EEEE, the data is copied from
  33.      the space described by the _uuuu_iiii_oooo structure to _a_d_d_r.
  34.  
  35.      The _uuuu_iiii_oooo______ssss_eeee_gggg_ffff_llll_gggg member of the _uuuu_iiii_oooo structure specifies the type of space
  36.      described by the _uuuu_iiii_oooo structure.  If _uuuu_iiii_oooo______ssss_eeee_gggg_ffff_llll_gggg is set to _UUUU_IIII_OOOO______SSSS_YYYY_SSSS_SSSS_PPPP_AAAA_CCCC_EEEE the
  37.      _uuuu_iiii_oooo structure describes a portion of the kernel address space.  If
  38.      _uuuu_iiii_oooo______ssss_eeee_gggg_ffff_llll_gggg is set to _UUUU_IIII_OOOO______UUUU_SSSS_EEEE_RRRR_SSSS_PPPP_AAAA_CCCC_EEEE the _uuuu_iiii_oooo structure describes a portion
  39.      of the user address space.
  40.  
  41.      If the copy is successful, _uuuu_iiii_oooo_mmmm_oooo_vvvv_eeee updates the appropriate members of the
  42.      _uuuu_iiii_oooo and _iiii_oooo_vvvv_eeee_cccc(D4) structures to reflect the copy (_uuuu_iiii_oooo______oooo_ffff_ffff_ssss_eeee_tttt and _iiii_oooo_vvvv______bbbb_aaaa_ssss_eeee
  43.      are increased by _n_b_y_t_e_s and _uuuu_iiii_oooo______rrrr_eeee_ssss_iiii_dddd and _iiii_oooo_vvvv______llll_eeee_nnnn are decrease by
  44.      _n_b_y_t_e_s).
  45.  
  46.    RRRReeeettttuuuurrrrnnnn VVVVaaaalllluuuueeeessss
  47.      _uuuu_iiii_oooo_mmmm_oooo_vvvv_eeee returns 0 on success or an error number on failure.
  48.  
  49. UUUUSSSSAAAAGGGGEEEE
  50.    LLLLeeeevvvveeeellll
  51.      Base only if _uuuu_iiii_oooo______ssss_eeee_gggg_ffff_llll_gggg is set to _UUUU_IIII_OOOO______UUUU_SSSS_EEEE_RRRR_SSSS_PPPP_AAAA_CCCC_EEEE.
  52.  
  53.      Base or Interrupt if _uuuu_iiii_oooo______ssss_eeee_gggg_ffff_llll_gggg is set to _UUUU_IIII_OOOO______SSSS_YYYY_SSSS_SSSS_PPPP_AAAA_CCCC_EEEE.
  54.  
  55.    SSSSyyyynnnncccchhhhrrrroooonnnniiiizzzzaaaattttiiiioooonnnn CCCCoooonnnnssssttttrrrraaaaiiiinnnnttttssss
  56.      May sleep if _uuuu_iiii_oooo______ssss_eeee_gggg_ffff_llll_gggg is set to _UUUU_IIII_OOOO______UUUU_SSSS_EEEE_RRRR_SSSS_PPPP_AAAA_CCCC_EEEE.
  57.  
  58.  
  59.  
  60.  
  61.                                                                         PPPPaaaaggggeeee 1111
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68. uuuuiiiioooommmmoooovvvveeee((((DDDD3333))))                                                        uuuuiiiioooommmmoooovvvveeee((((DDDD3333))))
  69.  
  70.  
  71.  
  72.      Driver-defined basic locks and read/write locks may be held across calls
  73.      to this function if _uuuu_iiii_oooo______ssss_eeee_gggg_ffff_llll_gggg is _UUUU_IIII_OOOO______SSSS_YYYY_SSSS_SSSS_PPPP_AAAA_CCCC_EEEE but may not be held if
  74.      _uuuu_iiii_oooo______ssss_eeee_gggg_ffff_llll_gggg is _UUUU_IIII_OOOO______UUUU_SSSS_EEEE_RRRR_SSSS_PPPP_AAAA_CCCC_EEEE.
  75.  
  76.      Driver-defined sleep locks may be held across calls to this function
  77.      regardless of the value of _uuuu_iiii_oooo______ssss_eeee_gggg_ffff_llll_gggg.
  78.  
  79.    WWWWaaaarrrrnnnniiiinnnnggggssss
  80.      If _a_d_d_r specifies an address in user space or if the value of _uuuu_iiii_oooo______ssss_eeee_gggg_ffff_llll_gggg
  81.      is not consistent with the type of address space described by the _uuuu_iiii_oooo
  82.      structure, the system can panic.
  83.  
  84.      When holding locks across calls to this function, multithreaded drivers
  85.      must be careful to avoid creating a deadlock.  During the data transfer,
  86.      page fault resolution might result in another I/O to the same device.
  87.      For example, this could occur if the driver controls the disk drive used
  88.      as the swap device.
  89.  
  90. RRRREEEEFFFFEEEERRRREEEENNNNCCCCEEEESSSS
  91.      _bbbb_cccc_oooo_pppp_yyyy(D3), _cccc_oooo_pppp_yyyy_iiii_nnnn(D3), _cccc_oooo_pppp_yyyy_oooo_uuuu_tttt(D3), _uuuu_rrrr_eeee_aaaa_dddd_cccc(D3), _uuuu_wwww_rrrr_iiii_tttt_eeee_cccc(D3), _iiii_oooo_vvvv_eeee_cccc(D4),
  92.      _uuuu_iiii_oooo(D4)
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.                                                                         PPPPaaaaggggeeee 2222
  128.  
  129.  
  130.  
  131.